import 'dart:math';

class Emp{
  // String? ename;
  // int? age;
  late String ename;    //Dart关键字late专用于类的成员属性，表示稍后有方法对当前属性进行赋值
  late int age;
  //?属性未赋值默认为null；但late属性为赋值直接使用会抛出错误

  setEname(String n){
    this.ename = n;
  }
  getEname(){
    return this.ename;
  }
  setAge(int a){
    this.age = a;
  }
  getAge(){
    return this.age;
  }

  printInfo(){
    print('姓名：${this.ename}, 年龄：${this.age}');
  }
}

main(){
  var e1 = new Emp();
  e1.setEname('Tom');
  e1.setAge(20);
  e1.printInfo();

  var e2 = Emp();   //Dart2+推荐省略new关键字
  e2.ename = 'Mary';
  e2.age = 18;
  e2.printInfo();
}